package com.java.yz.day07.homework;
/*
某公司要开发新游戏，请用面向对象的思想，设计游戏中的蛇怪和蜈蚣精 设定
1)     蛇怪类:
属性包括：怪物名字，生命值，攻击力
方法包括：攻击，移动 (曲线移动) ，补血 (当生命值<10 时，可以补加 20 生命值)
2)     蜈蚣精类：
属性包括：怪物名字，生命值，攻击力
方法包括：攻击，移动 (飞行移动)
要求
1)     分析蛇怪和蜈蚣精的公共成员，提取出父类—怪物类
2)     利用继承机制，实现蛇怪类和蜈蚣精类
3)     攻击方法，描述攻击状态。 内容包括怪物名字，生命值，攻击力
4)     编写测试类，分别测试蛇怪和蜈蚣精的对象及相关方法
5)     定义名为 mon 的包存怪物类，蛇怪类，蜈蚣精类和测试类 运行效果
 */

class Monster {
    String name;
    int live;
    int Attack;

    public void setName(String name) {
        this.name = name;
    }

    public void setAttack(int attack) {
        Attack = attack;
    }

    public void setLive(int live) {
        this.live = live;
    }

    public String getName() {
        return name;
    }

    public int getAttack() {
        return Attack;
    }

    public int getLive() {
        return live;
    }

    public void gongji() {
        System.out.println("攻击");
    }

    public void yidong() {
        System.out.println("移动");
    }
}

class Snake extends Monster {
    int a;

    @Override
    public void yidong() {
        System.out.println("曲线移动");
    }

    public int buxue() {

        if (this.live < 10) {
            System.out.print("实施大蛇补血术。。。");
            a = this.live + 20;
            return a;
        } else {
            return this.live;
        }
    }

    public void show() {
        System.out.println("怪物" + getName() + "展开攻击");
        System.out.println("当前生命值：" + getLive());
        System.out.println("攻击力是：" + getAttack());
        buxue();
        System.out.println("当前生命值是" + a);
        System.out.print("我是" + getName() + ",我走");
        yidong();
    }
}

class Centipede extends Monster {
    @Override
    public void yidong() {
        System.out.println("飞行移动");
    }

    public void show() {
        System.out.println("怪物" + getName() + "展开攻击");
        System.out.println("当前生命值：" + getLive());
        System.out.println("攻击力是：" + getAttack());
        System.out.print("我是" + getName() + ",我走");
        yidong();
    }
}

public class TextDemo3 {
    public static void main(String[] args) {
        Centipede centipede = new Centipede();
        centipede.setName("蜈蚣乙");
        centipede.setLive(25);
        centipede.setAttack(20);
        centipede.show();
        System.out.println("==============");
        Snake snake = new Snake();
        snake.setName("蛇妖甲");
        snake.setLive(5);
        snake.setAttack(20);
        snake.show();
    }
}
